Your goal is to create this plot using plotly.
Download https://michaelgastner.com/DAVisR_data/life_quality.csv.
Make a scatterplot where:
mode = "markers"Make sure you have two separate parameters color and colors:
color should specify which column or variable to map to the color of each point.colors should specify which colors or palette to use.You may use this palette for coloring continents:
colors <- c("#e41a1c", '#377eb8', '#4daf4a', '#984ea3', '#ff7f00')You will see the following warning Warning: line.width does not currently support multiple values.
You may consider using fill = ~'' in plot_ly(); this code assigns an empty string to fill.
Unfortunately, as of today, plotly does not support the size legend. However, some people seem to have found a way around by creating a new plot just for legend and combine it with the original bubble chart using subplot function. You can try it once you are done with the rest of exercises.
layout()Change the axis labels and give the plot a title.
Add an appropriate legend.
Give credit to the World Bank as a source. To accomplish this, you may consider using the code below:
annotations = list(
x = 1.2, y = -0.1,
text = "Source: World Bank",
showarrow = F, xref = "paper", yref = "paper",
xanchor = "right", yanchor = "auto", xshift = 0, yshift = 0,
font = list(size = 12)
)Make sure the x-axis is log-transformed.
To transform into a logarithmic axis, you should use this code:
xaxis = list(
type = "log",
showgrid = TRUE,
tickmode = "linear"
)Make sure the sizes of the symbol in the legend are constant.
Add a thin white border around the points to make it easier to distinguish overlapping points.
Feel free to make more adjustments if you think they will improve the quality of the plot.
Thank you!